
                        Ŀ
                        V12 Library Documentation File
                        

set it up so buttons can be loaded into an array and
created, pushed and checked by passing the array name


PRPrint Routines         (PRINTROM.BAS)

          PRPrint xPos%, yPos%, Text$

          See V12.BI for PR.parameter_list

Font Setting Routines    (FONT_SET.BAS)

          SetFont - Selects standard font characteristics

               Parameters  -  Height:   8, 14, 16, 28, 32, 56, 64
                              Boldness: 0, 1, 2

               SetFont Height%, Bold%

          SetItalic - Same as SetFont but Italic
          
          PrintNormal - Returns font settings to sane point


PopUp Menu Routines      (POP_UP.BAS)

PopUpMenu   -  A menu which pops up with the right mouse button
               Number of menu entries is determined by DIM Menu$(#)
               Width and Height are determined automatically based on data
               PopUpMenu saves, then restores existing screen graphics

               PopUpMenu Menu$(), PopItem

ToolChest   -  Puts a toolchest menu in upper left corner
               Number of menu entries is determined by DIM Menu$(#)
               Use Menu$(0) if you want a title placed above menu
               Width and Height are determined automatically based on data
               When ToolChest gets called ToolChestBox (#) gets loaded
               ToolChestBox() 1 - Left edge of Menu
                              2 - Top of Menu Items
                              3 - Width of Menu
                              4 - Height of each menu block
                              5 - Number of Menu Items

               ToolChest Menu$()


IsInToolChest

Circle Routines          (CIRCLES.BAS)

          CircleIn - Draws an 'in' appearing circle
                    CALL CircleIn (xPos!, yPos!, Radius!)

          CircleOut - Draws an 'out' appearing circle
                    CALL CircleOut (xPos!, yPos!, Radius!)

          Lamp  -   Draws a lightable circle on the screen
                    CALL Lamp (xPos!, yPos!, Radius!, LensColor)

LampOn
LampOff

Misc Routines            (MSC_FUNC.BAS)

          GetKey -  Waits for a KeyPress, returns value of key
                    Returns a minus value if a 2 char key (ie. Function key)

                    Call GetKey (KeyPress)

          LoadArrayBox - Stuffs data into an array for a Box

                    LoadArrayBox D%(), Left%, Top%, Wide%, High%, Depth%

          LoadArrayCircle - Stuffs data for a circle or Lamp

                    LoadArrayCircle A!(), X!, Y!, Radius!

          EraseArea
          IsInBox
          SetRGB


Box Routines             (BOXES.BAS)

          BoxRound - Creates a box with rounded corners filled with color

                    Call BoxRound (Left, Top, Wide, High, -
                                   CornerRadius, FillColor)

          BoxFill - Creates a box area on screen filled with specified color
                    Use an array to call : BoxFill Box()
                    Array Elements:    1 - Left
                         2 - Top       3 - Wide
                         4 - High      5 - FillColor
                    
          BoxIn  -  Creates an 'in' box on screen
                    Values are pixel counts, depth range 0 - 9
                    Use an array to call : BoxIn Box()
                    Array Elements:     1 - Left
                         2 - Top        3 - Wide
                         4 - High       5 - Depth

          BoxOut -  Creates an 'out' box on screen
                    Values are pixel counts, depth 0 - 9
                    Use an array to call : BoxOut Box()
                    Array Elements:     1 - Left
                         2 - Top        3 - Wide
                         4 - High       5 - Depth

          BoxMake - Routine Used by above Box Routines
                    Use this one if you don't want to load an array

                    BoxMake Left, Top, Wide, High, Depth, IN/OUT

          ClearBox - Empties contents of a box, leaving box intact
                    ClearBox Box()

          EraseBox - Erases a box from the screen

          EraseArea - Erases a screen area

                    EraseArea Left, Top, Wide, High


Set Up Routines          (SET_UP.BAS)

          Set12  -  Sets video Mode 12 and Initializes colors
                    Set12 redefines colors 5 and 13 (Magenta) for its own use
                    Also sets background color (0) to gray and
                    color 8 to black

                    CALL Set12

          SetBack - Sets screen background Color valid range 0 - 63

                    CALL SetBack (GrayColor)

Mouse Routines           (MOUSE.BAS)

          MouseInit - Initializes mouse driver

                    CALL MouseInit

          MouseShow - Turns on Mouse Cursor

                    CALL MouseShow

          MouseHide - Turns off Mouse Cursor

                    CALL MouseHide

          MousePoll - get mouse cursor location and button status

                    CALL MousePoll (row, col, lButton, rButton)

          MouseBorder - set mouse cursor travel limits

                    CALL MouseBorder (row1, col1, row2, col2)

        MouseDriver - driver routine for above calls
        SetHigh - set video to highest mode available
        ScrSettings - gets current screen mode and screen width

'*                                                                          *
'*   PR.xAxis      Starting column, in pixel points.                        *
'*   PR.yAxis      Starting row in pixel points.                            *
'*   PR.StepX      Count from 1st dot of character, right/left # pixels.    *
'*                 Example: 8 = 8 right; -8 = 8 left (prints reverse).      *
'*   PR.StepY      Count from 1st dot of character, down/up # pixels.       *
'*                 Example: 1 = 1 down; -8 = 8 up (prints bottom - up).     *
'*   PR.CharClr    The color to make each character.                        *
'*   PR.BGclr      Non-zero values determine the background color           *
'*                 for the string.  Background is neutral when BGclr is     *
'*                 set to 0.  Set BGclr = 256 for black background.         *
'*   PR.Shadow     True or false Boolian variable.                          *
'*   PR.ItalicSlant     Set to zero or 7 or -7 for no slant.  Positives     *
'*                 create a forward slant (right-handed).  Negative         *
'*                 numbers for backward slant (left-handed).  Maximum       *
'*                 slant is 1 or -1.  An attractive italic is 2 or -2.      *
'*   PR.Inverted   True or false Boolean variable - turns characters        *
'*                 upside down.                                             *
'*   PR.Backwards  True or false Boolean variable - makes individual        *
'*                 characters of a string print backwards.                  *
'*   PR.Underline  True of false Boolean variable.                          *
'*   PR.Elongate   Zero for normal size character, set to 1 for bold        *
'*                 characters, set to 2 = double wide (truly fat).          *
'*   PR.Stencil    True or false Boolean variable - makes stencil           *
'*   PR.Height     An integer specified as 8, 14, 16, 28, or 32.  This      *
'*                 the height, in pixels, of the character printed.         *
'*                 NOTE: CGA can only print 8.  Use PR.Tall for 16.         *
'*                 NOTE: EGA cannot do 16 or 32.  PrintROMtable will force  *
'*                       16 to 14 and will force 32 to 28.  EGA can access  *
'*                       16 by using 8 with Tall.                           *
'*   PR.Tall       Boolean variable that doubles pixel height effec-        *
'*                 providing pixels heights of 16, 28, 32, 56, and 64.      *
'*                 NOTE: CGA can only access 16.                            *
'*                 NOTE: EGA cannot access 32 or 64.                        *
'*   PR.StrikeThrough   True or false Boolean variable - a dash is          *
'*                 placed in the middle of each character.                  *
'*   PR.Condensed  True or False Boolean variable - forces 8 scan line      *
'*                 character into four scan lines.  Not very readable but   *
'*                 can be used for superscripts/subscripts or that fine,    *
'*                 legal (and unreadable) print in contracts agreements.    *
'*                 Also useful for printer preview modes.                   *
'*   PR.ForceAddress    True or False Boolean variable to force ROM charac- *
'*                 ter shape table address to &HFFA6.  Set this to true     *
'*                 to force systems to this memory segment.                 *
'*   PR.ScreenMode Integer variable that equals the SCREEN mode used.       *
'*                 YOU MUST SUPPLY THIS VARIABLE if you intend to use       *
'*                 screen modes above CGA ("0" defaults to CGA font sizes). *
'*                 At the top of your code, do something like:              *
'*                                PR.ScreenMode = 9                         *
'*                                SCREEN PR.ScreenMode                      *
'*                                                                          *
'*  OUT:  1)  String of characters printed to the graphics screen.          *
'*        2)  Location and slant of displayed string are pixel based.       *
'*        3)  Strings can be printed normal, reverse, top to bottom and     *
'*            upside down.                                                  *
'*        4)  Strings can have both foreground and background colors or     *
'*            possess a neutral, non-destructive background.                *
'*        5)  "CPI" can be adjusted along horizontal or vertical planes     *
'*            with StepX and StepY variables (ie, StepX = 7 would be a      *
'*            condenced font, StepX = 8 a normal font, etc).                *
'*        6)  Characters can be printed with a shadow.                      *
'*        7)  Characters can be printed with "right-hand" or "left-hand"    *
'*            italicized slant.                                             *
'*        8)  Characters can be inverted for mirror images along the        *
'*            verticle plane (like a reflection on a lake).                 *
'*        9)  Characters can be printed backwards for mirror images on      *
'*            horizontal plane (horizontal mirror images should have        *
'*            StepX set to a negative value for a "true mirror image").     *
'*        10) Characters can be elongate by 2 or 4 times normal length.     *
'*        11) Characters can be displayed as "stencil" characters.          *
'*        12) Characters can be displayed with a strike through mark.       *
'*        13) Characters can be 8, 14, 16, 28, or 32 pixels high.           *
'*        14) Characters can be printed "Tall" effectively producing hights *
'*            of 16, 28, 32, 56, or 64 pixels high.                         *
'*        15) Characters can be printed "Condensed" for use as super or sub *
'*            script type or printer preview modes.                         *
'*        16) The high ASCII character set (128 through 254) can be altered *
'*            from 1 of four, pre-defined files (1024 bytes each).          *
'*                                                                          *
'****************************************************************************


